package com.dms.modules.product.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import javax.validation.constraints.NotNull;

/**
 * 用户行为数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "UserBehaviorDTO", description = "用户行为数据")
public class UserBehaviorDTO {

    @ApiModelProperty(value = "商品ID", required = true)
    @NotNull(message = "商品ID不能为空")
    private Long productId;

    @ApiModelProperty(value = "会话ID")
    private String sessionId;
    
    @ApiModelProperty(value = "分类ID")
    private Long categoryId;
    
    @ApiModelProperty(value = "来源", example = "首页/搜索/分类/推荐")
    private String source;
    
    @ApiModelProperty(value = "停留时长(秒)")
    private Integer stayDuration;
    
    @ApiModelProperty(value = "行为类型", example = "view/click/favorite/cart/purchase")
    private String behaviorType;
} 